package iface.aplicativo.integracao.dao;

import iface.aplicativo.negocio.entidade.EntradaVeiculo;
import iface.aplicativo.negocio.entidade.Veiculo;
import iface.arquitetura.integracao.HibernateDAOAbstrato;

import java.util.Collection;

import org.hibernate.Criteria;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;
import org.springframework.stereotype.Repository;

@Repository
public class EntradaVeiculoDAO extends HibernateDAOAbstrato<EntradaVeiculo> {

	@SuppressWarnings("unchecked")
	public Collection<EntradaVeiculo> consultarEntradaPorVeiculo(
			final Veiculo veiculo) {
		Criteria criteria = novoCriteria();
		criteria.createAlias("veiculo", "veiculo");

		if (veiculo != null) {
			criteria.add(Restrictions.eq("veiculo.idVeiculo",
					veiculo.getIdVeiculo()));
		}

		criteria.addOrder(Order.desc("id"));

		return criteria.list();
	}

}
